;
;     Library library documentation - MultiOS version !
;
;       Done by AlphaSND - (c) Fantaisie Software
;       and F.Weil (fw@nasca.fr)
;

@Library Library

@Overview

Les librairies sont des composants partags du systme d'exploitation contenant des fonctions spcifiques  l'intention des programmeurs. Par exemple,
une librairie peut contenir des commandes pour traiter et manipuler facilement des images. Chaque systme d'exploitation a ses propres librairies
partages pour faciliter la vie du programmeur. Avec PureBasic, il est possible d'utiliser ces librairies tierces facilement et dynamiquement !

@OS Windows
@LineBreak
@LineBreak
Sous Windows, ces librairies sont bien connues sous le nom de 'DLL'.

@CommandList

@Example Windows Library.pb

@SupportedOS Windows, AmigaOS, Linux

;--------------------------------------------------------------------------------------------------------

@Function CloseLibrary(#Librairie)

@Description
  Ferme #librairie spcifie et libre la mmoire pralablement alloue..
  
@SupportedOS Windows, AmigaOS, Linux

;--------------------------------------------------------------------------------------------------------

@Function Resultat = CallFunction(#Librairie, NomFonction$ [,Parametre1 [, Parametre2...]])

@Description
  Appelle une fonction de la #Librairie spcifie, pralablement ouverte avec @Link OpenLibrary(), en utilisant son nom. Le nombre
  de paramtres autoriss est quelconque mais doit correspondre exactement aux besoins de la fonction. Par exemple, si une fonction
  ncessite 2 paramtres, alors 2 paramtres doivent tre passs mme si les valeurs de ces 2 paramtres sont nulles. 'Resultat'
  contient le rsultat de la fonction appele.
  
@SupportedOS Windows, AmigaOS, Linux

;--------------------------------------------------------------------------------------------------------

@Function Resultat = CallFunctionFast(*PointeurFonction [,Parametre1 [, Parametre2...]])

@Description
  Appelle une fonction en librairie en utilisant son pointeur obtenu par @Link IsFunction(). Cette mthode est plus rapide.
  Le nombre de paramtres autoriss est quelconque mais doit correspondre exactement aux besoins de la fonction. Par exemple,
  si une fonction ncessite 2 paramtres, alors 2 paramtres doivent tre passs mme si les valeurs de ces 2 paramtres
  sont nulles. 'Resultat' contient le rsultat de la fonction appele.
  
@SupportedOS Windows, AmigaOS, Linux

;--------------------------------------------------------------------------------------------------------

@Function Resultat = IsFunction(#Librairie, NomFonction$)

@Description
  Vrifie si #Library, pralablement ouverte avec @Link OpenLibrary(), contient la fonction spcifie.
  Attention, le nom de la fonction est toujours sensible  la casse. Si 'Rsultat' est  0 alors la fonction
  n'a pas t trouve, sinon on rcupre le pointeur vers la fonction, ce qui est pratique pour l'utiliser
  avec @Link CallFunctionFast().
  
@SupportedOS Windows, AmigaOS, Linux

;--------------------------------------------------------------------------------------------------------

@Function Resultat = OpenLibrary(#Librairie, NomFichier$)

@Description
  Ouvre la librairie spcifie. Si 'Resultat' est  0, alors la librairie n'a pu tre ouverte (absente ou est
  corrompue).

@SupportedOS Windows, AmigaOS, Linux

